home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / pasprog.EXE / EXEWRITE.TXT < prev    next >
Text File  |  1995-12-06  |  2KB  |  32 lines

  1.  ┌──────────────────────────────────────────────────────────────────────────┐
  2.  │┌────────────────────────────────────────────────────────────────────────┐│
  3.  ││                                                                        ││
  4.  ││                         Kaplumbaºa EXE'ler                             ││
  5.  ││                                                                        ││
  6.  │└────────────────────────────────────────────────────────────────────────┘│
  7.  │ PS 28 · Kasìm'95                                  A.Serdar Hazar         │
  8.  └──────────────────────────────────────────────────────────────────────────┘
  9.  
  10.  
  11.          Kendi yazdìºìnìz programlarìn ayarlarìnì baƒka bir dosyada (örneºin
  12.   Ayarlar.Cfg gibi) saklamak yerine .EXE dosyanìn içinde saklayabilirsiniz.
  13.   Veya .EXE'nin sonuna küçük notlar ekleyebilirsiniz. Exe dosyalarda bulunan
  14.   header'da dosyanìn belleºe yüklenecek uzunluºu bulunmaktadìr. Bu nedenle
  15.   dosyaya ekleyeceºimiz veri belleºe yüklenmez ve hiç bir soruna yol açmaz.
  16.   Dosya Pklite ile sìkìƒtìrìlsa bile program iƒlevini gerçekleƒtiriyor.
  17.   Ancak LzExe 'de bazì sorunlar çìktìºìnì itiraf etmeliyim. Bu EXE'nin sonuna
  18.   eklediºimiz String, Overlay gibi görünüyor. Pklite bunu aynen sakladìºì
  19.   halde, LzExe bu Overlay kìsmì, kesip atìyor.
  20.  
  21.          Program ilk önce, EXE dosyanìn Header'ìna bakarak, dosyanìn olmasì
  22.   gereken boyunu öºreniyor. EXE Dosyanìn gerçek boyu = 2.Word+((3.Word-1)*512)
  23.   ƒeklinde küçük bir hesap yapìlarak bulunur. Daha sonra FileSize komutu ile
  24.   dosyanìn gerçek boyunu buluyor. ÿkisi de aynì ise "Henüz bir ƒey
  25.   yazìlmamìƒ" mesajìnì ekrana getiriyor ve dosyanìn sonuna eklenecek olan
  26.   mesajì soruyor. Sonuçlar farklì ise dosyanìn sonundaki mesajì ekrana yazìyor
  27.   ve yeni mesajìn girilmesini istiyor. Eºer hiçbirƒey yazìlmayìp, Enter'e
  28.   basìlìrsa, dosyayì ilk (normal) haline getiriyor. (Truncate(dosya);)
  29.   Hiç birƒey yazìlmayìp, Enter'e basìlìnca dosyanìn sonundaki mesajìn aynì
  30.   kalmasìnì istiyorsanìz, {*} ile  iƒaretli satìrlarì;
  31.           for i:=1 to length(mes) do buf[i]:=ord(mes[i]);
  32.   satìrìnìn altìna yazmanìz gerekiyor.